<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>BrowserTestChannel (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>

  <script type="text/javascript" src="//www.google.com/jsapi"></script>
  <script type="text/javascript">
     google.load("visualization", "1", {packages:["orgchart"]});
     var _loadingVisualizations = true;
  </script>

  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
        <span class="fn">net.BrowserTestChannel</span>
        <span>Extends</span>
        <span class="fn-name">
          Object
        </span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    Encapsulates the logic for a single BrowserTestChannel.
  </div>


        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="closure_goog_net_browsertestchannel.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/closure/goog/net/browsertestchannel.js">Git</a></li>
          </ol>
        </div>
</div>






<h2 class="g-first">Inheritance</h2>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
  <tr><td>goog.net.BrowserTestChannel</td><td></td></tr>
</table>
</div>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
</table>
</div>




  <h2>Constructor</h2>
      <div class="fn-constructor">
    goog.net.BrowserTestChannel(<span><span class="arg">channel</span>,&nbsp;<span class="arg">channelDebug</span></span>)
  </div>

   <h3>Parameters</h3>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">channel</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_net_BrowserChannel.html">goog.net.BrowserChannel</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The BrowserChannel that owns this test channel.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">channelDebug</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_net_ChannelDebug.html">goog.net.ChannelDebug</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">A ChannelDebug to use for logging.</div>
     </td>
   </tr>
  </table>


<h2>Instance Methods</h2>


  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_net_BrowserTestChannel.html">
              goog.net.BrowserTestChannel
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.abort"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">abort<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Aborts the test channel.
     </div>

   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line384">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.checkBlockedCallback_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">checkBlockedCallback_<span class="args">(<span class="arg">succeeded</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Callback for testLoadImageWithRetries to check if browser channel is
blocked.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">succeeded</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
        <div class="entryOverview">Whether the request succeeded.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line320">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.checkBlocked_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">checkBlocked_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Checks to see whether the channel is blocked. This is for implementing the
feature that allows network administrators to block Gmail Chat. The
strategy to determine if we're blocked is to try to load an image off a
special subdomain that network administrators will block access to if they
are trying to block chat. For Gmail Chat, the subdomain is
<a href="http://chatenabled.mail.google.com">chatenabled.mail.google.com</a>.
     </div>

   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line300">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.checkForEarlyNonBuffered_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">checkForEarlyNonBuffered_<span class="args">()</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            True if test stage 2 detected a non-buffered channel early and early no buffering detection is enabled.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line577">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.connect"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">connect<span class="args">(<span class="arg">path</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Starts the test channel. This initiates connections to the server.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">path</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">The relative uri for the test connection.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line257">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.connectStage2_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">connectStage2_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Begins the second stage of the test channel where we test to see if we're
behind a buffering proxy. The server sends back a multi-chunked response
with the first chunk containing the content '1' and then two seconds later
sending the second chunk containing the content '2'. Depending on how we
receive the content, we can tell if we're behind a buffering proxy.
     </div>

   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line349">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.createXhrIo"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">createXhrIo<span class="args">(<span class="arg">hostPrefix</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="class_goog_net_XhrIo.html">goog.net.XhrIo</a></span></div>
      </div>


     <div class="entryOverview">
       Factory method for XhrIo objects.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">hostPrefix</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>)</div>
        <div class="entryOverview">The host prefix, if we need an XhrIo object capable of calling a secondary domain.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="class_goog_net_XhrIo.html">goog.net.XhrIo</a></span></div>&nbsp;
            New XhrIo object.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line376">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.getLastStatusCode"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getLastStatusCode<span class="args">()</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
      </div>


     <div class="entryOverview">
       Returns the last status code received for a request.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>&nbsp;
            The last status code received for a request.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line545">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.isActive"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">isActive<span class="args">(<span class="arg">browserChannel</span>)</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Gets whether this channel is currently active. This is used to determine the
length of time to wait before retrying.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">browserChannel</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_net_BrowserChannel.html">goog.net.BrowserChannel</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The browser channel.</div>
     </td>
   </tr>
  </table>
      </div>
   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            Whether the channel is currently active.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line566">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.isClosed"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">isClosed<span class="args">()</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       Returns whether the test channel is closed. The ChannelRequest object expects
this method to be implemented on its handler.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            Whether the channel is closed.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line399">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.notifyServerReachabilityEvent"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">notifyServerReachabilityEvent<span class="args">(<span class="arg">reachabilityType</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Notifies the channel of a fine grained network event.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">reachabilityType</span>
        : <div class="fullType"><span class="type">goog.net.BrowserChannel.ServerReachability</span></div>
        <div class="entryOverview">The reachability event type.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line595">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.onRequestComplete"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">onRequestComplete<span class="args">(<span class="arg">req</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Callback from ChannelRequest that indicates a request has completed.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">req</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_net_ChannelRequest.html">goog.net.ChannelRequest</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The request object.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line474">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.onRequestData"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">onRequestData<span class="args">(<span class="arg">req</span>,&nbsp;<span class="arg">responseText</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Callback from ChannelRequest for when new data is received
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">req</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_net_ChannelRequest.html">goog.net.ChannelRequest</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The request object.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">responseText</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span></div>
        <div class="entryOverview">The text of the response.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line410">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.setExtraHeaders"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setExtraHeaders<span class="args">(<span class="arg">extraHeaders</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets extra HTTP headers to add to all the requests sent to the server.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">extraHeaders</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
        <div class="entryOverview">The HTTP headers.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line236">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.setParser"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setParser<span class="args">(<span class="arg">parser</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets a new parser for the response payload. A custom parser may be set to
avoid using eval(), for example.
By default, the parser uses <code>goog.json.unsafeParse</code>.
     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">parser</span>
        : <div class="fullType"><span class="type"><a href="interface_goog_string_Parser.html">goog.string.Parser</a></span></div>
        <div class="entryOverview">Parser.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line247">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.net.BrowserTestChannel.prototype.shouldUseSecondaryDomains"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">shouldUseSecondaryDomains<span class="args">()</span>
        </span>
        &#8658; <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>&nbsp;
            Whether we should be using secondary domains when the server instructs us to do so.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line554">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>




<h2>Instance Properties</h2>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_net_BrowserTestChannel.html">
              goog.net.BrowserTestChannel
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.blockedPrefix_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">blockedPrefix_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>)</div>
     </div>


     <div class="entryOverview">
       A subdomain prefix for testing whether the channel was disabled by
a network administrator;
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line164">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.channelDebug_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">channelDebug_</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_net_ChannelDebug.html">goog.net.ChannelDebug</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
     </div>


     <div class="entryOverview">
       The channel debug to use for logging
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line60">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.channel_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">channel_</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_net_BrowserChannel.html">goog.net.BrowserChannel</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
     </div>


     <div class="entryOverview">
       The BrowserChannel that owns this test channel
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line53">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.extraHeaders_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">extraHeaders_</span>
        : <div class="fullType">(<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
     </div>


     <div class="entryOverview">
       Extra HTTP headers to add to all the requests sent to the server.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line77">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.firstTime_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">firstTime_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>)</div>
     </div>


     <div class="entryOverview">
       The time for of the first result part. We use timing in IE as a
heuristic for whether we're behind a buffering proxy.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line112">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.hostPrefix_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">hostPrefix_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>)</div>
     </div>


     <div class="entryOverview">
       A subdomain prefix for using a subdomain in IE for the backchannel
requests.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line155">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.lastStatusCode_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">lastStatusCode_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
     </div>


     <div class="entryOverview">
       The last status code received.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line146">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.lastTime_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">lastTime_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>)</div>
     </div>


     <div class="entryOverview">
       The time for of the last result part. We use timing in IE as a
heuristic for whether we're behind a buffering proxy.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line121">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.parser_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">parser_</span>
        : <div class="fullType">(<span class="type"><a href="interface_goog_string_Parser.html">goog.string.Parser</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
     </div>


     <div class="entryOverview">
       Parser for a response payload. Defaults to use
<code>goog.json.unsafeParse</code>. The parser should return an array.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line68">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.path_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">path_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>)</div>
     </div>


     <div class="entryOverview">
       The relative path for test requests.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line129">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.receivedIntermediateResult_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">receivedIntermediateResult_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span></div>
     </div>


     <div class="entryOverview">
       Whether we have received the first result as an intermediate result. This
helps us determine whether we're behind a buffering proxy.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line94">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.request_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">request_</span>
        : <div class="fullType">(<span class="type"><a href="class_goog_net_ChannelRequest.html">goog.net.ChannelRequest</a></span><span>&nbsp;|&nbsp;</span><span class="type">null</span>)</div>
     </div>


     <div class="entryOverview">
       The test request.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line85">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.startTime_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">startTime_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>)</div>
     </div>


     <div class="entryOverview">
       The time when the test request was started. We use timing in IE as
a heuristic for whether we're behind a buffering proxy.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line103">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.prototype.state_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">state_</span>
        : <div class="fullType">(<span class="type">null</span><span>&nbsp;|&nbsp;</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>)</div>
     </div>


     <div class="entryOverview">
       The state of the state machine for this object.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line138">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>










<div class="section">
  <table class="horiz-rule">


  </table>
</div>



<h2>Static Properties</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.BLOCKED_PAUSE_BETWEEN_RETRIES_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.net.BrowserTestChannel.</span><span class="entryName">BLOCKED_PAUSE_BETWEEN_RETRIES_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
     </div>


     <div class="entryOverview">
       Time in ms between retries of the blocked request
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line218">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.BLOCKED_RETRIES_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.net.BrowserTestChannel.</span><span class="entryName">BLOCKED_RETRIES_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
     </div>


     <div class="entryOverview">
       Number of attempts to try to see if the check to see if we're blocked
succeeds. Sometimes the request can fail because of flaky network conditions
and checking multiple times reduces false positives.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line210">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.BLOCKED_TIMEOUT_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.net.BrowserTestChannel.</span><span class="entryName">BLOCKED_TIMEOUT_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
     </div>


     <div class="entryOverview">
       Time in MS for waiting for the request to see if the channel is blocked.
If the response takes longer than this many ms, we assume the request has
failed.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line200">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.MIN_TIME_EXPECTED_BETWEEN_DATA_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.net.BrowserTestChannel.</span><span class="entryName">MIN_TIME_EXPECTED_BETWEEN_DATA_</span>
        : <div class="fullType"><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span></div>
     </div>


     <div class="entryOverview">
       Time between chunks in the test connection that indicates that we
are not behind a buffering proxy. This value should be less than or
equals to the time between chunks sent from the server.
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line228">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>



<h2>Enumerations</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.net.BrowserTestChannel.State_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.net.BrowserTestChannel.</span><span class="entryName">State_</span>
        : 
     </div>


     <div class="entryOverview">
       Enum type for the browser test channel state machine
     </div>

     <div class="entryDetails">
       <div class="detailsSection">
          <b>Constants:</b>
          <table class="horiz-rule">
            <tbody>
              <tr><td>
                <span class="entryName">
                  CONNECTION_TESTING
                </span>
                <div class="entryOverview">
                  The  state for the BrowserTestChannel state machine where we're checking to
se if we're behind a buffering proxy.
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  CHECKING_BLOCKED
                </span>
                <div class="entryOverview">
                  The state for the BrowserTestChannel state machine where we're checking to
see if the channel has been blocked.
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  INIT
                </span>
                <div class="entryOverview">
                  The state for the BrowserTestChannel state machine where we making the
initial call to get the server configured parameters.
                </div>
             </td></tr>
           </tbody>
         </table>
       </div>
     </div>

  </td>


  <td class="view-code">
     <a href="closure_goog_net_browsertestchannel.js.source.html#line172">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Package net</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">Package Reference</h2>
            <div id="sideTypeIndex" rootPath="" current="net.BrowserTestChannel"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
